package com.eternal.permission.service;

import com.eternal.permission.entity.PermissionInfo;
import com.eternal.permission.entity.RolePermission;
import com.baomidou.mybatisplus.service.IService;
import com.eternal.util.tree.entity.Tree;
import org.springframework.cache.annotation.Cacheable;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 角色权限表 服务类
 * </p>
 *
 * @author Eternal
 * @since 2018-08-26
 */
public interface RolePermissionService extends IService<RolePermission> {

    /**
     * 获取角色的权限信息
     *
     * @param roleId：角色编号
     * @return
     */
    List<PermissionInfo> getPermissionByRoleId(String roleId);

    /**
     * 获取用户的权限信息
     *
     * @param roleIds：多个角色编号
     * @return
     */
    Set<PermissionInfo> getPermissionByRoleIds(List<String> roleIds);

    /**
     * 获取权限树
     *
     * @param roleId：角色编号
     * @return
     */
    List<Tree<PermissionInfo>> getPermission(String roleId);

    /**
     * <p> 角色添加权限 </p>
     *
     * @Description: TODO
     * @Param
     * @Return
     * @Author Eternal
     * @Date 2018/9/15 19:11
     */
    boolean addPermission(String roleId,String[] permission);

}
